/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package vue;

import ecouteurs.EcouteurHisto;
import ecouteurs.EcouteurLacher;
import ecouteurs.EcouteurParcours;
import ia_multiagent1.Agent;
import ia_multiagent1.Espace2D;
import java.awt.Color;
import java.awt.GridLayout;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;

/**
 *
 * @author Baptiste
 */
public class JPanelSuivi extends JPanel{
    
    private Vector<Agent> agents;
    private EcouteurHisto ecHisto;
    private EcouteurParcours ecParcours;
    
    public JPanelSuivi(Vector<Agent> agents, int dimGridCases, int  dimPixelCase, Espace2D e2d){
        GridLayout gl = new GridLayout(4,1);
        this.setLayout(gl);
        this.agents = agents;
        
        
        JLabel lblAgent = new JLabel("Suivi de l'agent");
        JTextField txtAgents = new JTextField("1");
        JPanel panAgents = new JPanel();
        panAgents.add(lblAgent);
        panAgents.add(txtAgents);
        this.add(panAgents);
        
        JButton histo = new JButton("Histogramme");
        ecHisto = new EcouteurHisto(agents, txtAgents);
        histo.addMouseListener(ecHisto);
        JPanel panHisto = new JPanel();
        panHisto.add(histo);
        this.add(panHisto);
        
        JButton parcours = new JButton("    Parcours    ");
        ecParcours = new EcouteurParcours(agents, txtAgents, dimGridCases, dimPixelCase, e2d);
        parcours.addMouseListener(ecParcours);
        JPanel panParcours = new JPanel();
        panParcours.add(parcours);
        this.add(panParcours);
        
        JButton lacher = new JButton(" Cone deflection ");
        lacher.addMouseListener(new EcouteurLacher());
        JPanel panLacher = new JPanel();
        panLacher.add(lacher);
        this.add(panLacher);
        
        
        this.setBorder(new LineBorder(Color.BLACK));
    }
    
    public void setAgents(Vector<Agent> mesAgents){
        this.agents = mesAgents;
        ecHisto.setAgents(mesAgents);
        ecParcours.setAgents(mesAgents);
    }

}
